package tools.point.events 
{
	import flash.events.Event;
	import flash.geom.Point;
	
	/**
	 * 添加点事件
	 * @author Zhenyu Yao
	 */
	public class AddPointEvent extends Event 
	{
		
////////////////////////////////////////////////////////////////////////////////////////////////////
// 事件类型定义
////////////////////////////////////////////////////////////////////////////////////////////////////
		
		/// 添加点事件
		public static const ADD_POINT		: String = "AddPoint";

////////////////////////////////////////////////////////////////////////////////////////////////////
// Properties
////////////////////////////////////////////////////////////////////////////////////////////////////
		
		/**
		 * 添加到所属网格的局部点坐标, 该点使用的坐标系方式是屏幕坐标系, 及y轴是指向下的
		 * @author Zhenyu Yao
		 */
		public function get point() : Point
		{
			return m_point.clone();
		}
		
		/**
		 * 行
		 * @author Zhenyu Yao
		 */
		public function get row() : int
		{
			return m_row;
		}
		
		/**
		 * 列
		 * @author Zhenyu Yao
		 */
		public function get col() : int 
		{
			return m_col;
		}

////////////////////////////////////////////////////////////////////////////////////////////////////
// Public Functions
////////////////////////////////////////////////////////////////////////////////////////////////////
		
		public function AddPointEvent(type : String, p : Point, row : int, col : int) 
		{ 
			super(type);
			m_point = p;
			m_row = row;
			m_col = col;
		} 
		
////////////////////////////////////////////////////////////////////////////////////////////////////
// Override Functions
////////////////////////////////////////////////////////////////////////////////////////////////////
		
		public override function clone():Event 
		{ 
			return new AddPointEvent(type, m_point, m_row, m_col);
		} 
		
////////////////////////////////////////////////////////////////////////////////////////////////////
// Private Functions
////////////////////////////////////////////////////////////////////////////////////////////////////
		
		private var m_point : Point = null;
		private var m_row : int = 0;
		private var m_col : int = 0;
	}
	
}

////////////////////////////////////////////////////////////////////////////////////////////////////
// end file